﻿namespace IGS.Core.Systems
{
    public interface IInteractable
    {
        double Mass { get; }
        Vector Position { get; set; }
        Vector Velocity { get; set; }
        Vector Acceleration { get; set; }
        Vector LastPosition { get; }
        Vector LastVelocity { get; }
        double KineticEnergy { get; }
        double PotentialEnergy { get; set; }
        Vector LastAcceleration { get; }
        void Pairwise(IInteractable other);
        void Reset();
        void EndStep();
    }
}